In many client-server business applications, a smart client application is utilized that is capable of functioning both when it is connected to a server computer (referred to herein as being “online”) and when it is disconnected from the server computer (referred to herein as being “offline”). Often, however, the functionality provided by the client application when offline is very limited as compared to the functionality provided by the application when online. This is generally due to the fact that the complete functionality provided by the server computer and a complete data set are not available to the client application when offline.
The functionality provided by a server application in a client-server environment may be extended through the use of business logic extensions. Business logic extensions allow the developer of the server application and independent software vendors (“ISVs”) to add additional functionality to a business application. Because business logic extensions are implemented on the server computer, the functionality provided by such server-side extensions is not available to a client application operating offline.
Some efforts have been made to allow the use of custom business logic extensions by an offline client application through the execution of scripts by the client application. Scripts, however, severely limit the functionality available when the client application is offline due to their limited capabilities and the difficulty in properly integrating their execution with the operation of the client application. In this regard, it can also be difficult to deploy these types of business logic extensions to multiple client applications. In many cases, ISVs are responsible for deploying the extensions and for managing the versioning and maintenance of the extensions. This process can be complicated, expensive, and time-consuming.
It is with respect to these considerations and others that the disclosure made herein is provided.